/*
 * Copyright (C) 2010-2011 Comcast Cable.  All Rights Reserved.
 */
package com.hercules.android.receiver.model.objects;

/**
 * <p>
 * This class represents a nine-slice image that is an image that can scale intelligently. In a nine-slice image the
 * four corners of the image do not scale at all, the horizontal border scales only in the horizontal direction, and the
 * vertical border scales only in the vertical direction. The center region scales both vertically and horizontally. It
 * is a simple JavaBean (POJO) that provides getters and setters for all private attributes and performs no argument
 * validation in the setters.
 * </p>
 * <p>
 * AndroidAssembly1 renamed to XRENineSliceImage
 * <p>
 * <strong>Thread safety:</strong> This class is mutable and not thread safe.
 * </p>
 *
 * @author saarixx, jmn
 * @version 1.0
 */
public class XRENineSliceImage extends XREImage {

    /**
     * <p>
     * The size, in pixels, of the left border of the image.
     * </p>
     * <p>
     * Can be any value.
     * </p>
     * <p>
     * Has getter and setter.
     * </p>
     */
    private int left;

    /**
     * <p>
     * The size, in pixels, of the right border of the image.
     * </p>
     * <p>
     * Can be any value.
     * </p>
     * <p>
     * Has getter and setter.
     * </p>
     */
    private int right;

    /**
     * <p>
     * The size, in pixels, of the top border of the image.
     * </p>
     * <p>
     * Can be any value.
     * </p>
     * <p>
     * Has getter and setter.
     * </p>
     */
    private int top;

    /**
     * <p>
     * The size, in pixels, of the bottom border of the image.
     * </p>
     * <p>
     * Can be any value.
     * </p>
     * <p>
     * Has getter and setter.
     * </p>
     */
    private int bottom;

    /**
     * <p>
     * Creates new instance of {@link XRENineSliceImage} class.
     * </p>
     */
    public XRENineSliceImage() {
        // empty constructor
    }

    /**
     * <p>
     * Retrieves the size, in pixels, of the left border of the image.
     * </p>
     *
     * @return the size, in pixels, of the left border of the image
     */
    public int getLeft() {
        return left;
    }

    /**
     * <p>
     * Sets the size, in pixels, of the left border of the image.
     * </p>
     *
     * @param left the size, in pixels, of the left border of the image
     */
    public void setLeft(int left) {
        this.left = left;
    }

    /**
     * <p>
     * Retrieves the size, in pixels, of the right border of the image.
     * </p>
     *
     * @return the size, in pixels, of the right border of the image
     */
    public int getRight() {
        return right;
    }

    /**
     * <p>
     * Sets the size, in pixels, of the right border of the image.
     * </p>
     *
     * @param right the size, in pixels, of the right border of the image
     */
    public void setRight(int right) {
        this.right = right;
    }

    /**
     * <p>
     * Retrieves the size, in pixels, of the top border of the image.
     * </p>
     *
     * @return the size, in pixels, of the top border of the image
     */
    public int getTop() {
        return top;
    }

    /**
     * <p>
     * Sets the size, in pixels, of the top border of the image.
     * </p>
     *
     * @param top the size, in pixels, of the top border of the image
     */
    public void setTop(int top) {
        this.top = top;
    }

    /**
     * <p>
     * Retrieves the size, in pixels, of the bottom border of the image.
     * </p>
     *
     * @return the size, in pixels, of the bottom border of the image
     */
    public int getBottom() {
        return bottom;
    }

    /**
     * <p>
     * Sets the size, in pixels, of the bottom border of the image.
     * </p>
     *
     * @param bottom the size, in pixels, of the bottom border of the image
     */
    public void setBottom(int bottom) {
        this.bottom = bottom;
    }
}
